home *** CD-ROM | disk | FTP | other *** search
/ Mastering Microsoft Visual Basic 5 / Mastering Microsoft Visual Basic 5.ISO / labs / lab04 / categories.frm next >
Text File  |  1997-01-24  |  8KB  |  306 lines

  1. VERSION 5.00
  2. Begin VB.Form Form1 
  3.    Caption         =   "Categories"
  4.    ClientHeight    =   3435
  5.    ClientLeft      =   3450
  6.    ClientTop       =   2325
  7.    ClientWidth     =   5010
  8.    LinkTopic       =   "Form1"
  9.    ScaleHeight     =   3435
  10.    ScaleWidth      =   5010
  11.    Begin VB.CommandButton cmdClose 
  12.       Caption         =   "C&lose"
  13.       Height          =   375
  14.       Left            =   3600
  15.       TabIndex        =   10
  16.       Top             =   3000
  17.       Width           =   1335
  18.    End
  19.    Begin VB.CommandButton cmdFind 
  20.       Caption         =   "&Find"
  21.       Height          =   375
  22.       Left            =   3600
  23.       TabIndex        =   9
  24.       Top             =   2520
  25.       Width           =   1335
  26.    End
  27.    Begin VB.CommandButton cmdDelete 
  28.       Caption         =   "&Delete"
  29.       Height          =   375
  30.       Left            =   3600
  31.       TabIndex        =   8
  32.       Top             =   2040
  33.       Width           =   1335
  34.    End
  35.    Begin VB.CommandButton cmdCancel 
  36.       Caption         =   "&Cancel"
  37.       Height          =   375
  38.       Left            =   3600
  39.       TabIndex        =   7
  40.       Top             =   1560
  41.       Width           =   1335
  42.    End
  43.    Begin VB.CommandButton cmdEdit 
  44.       Caption         =   "&Edit"
  45.       Height          =   375
  46.       Left            =   3600
  47.       TabIndex        =   5
  48.       Top             =   600
  49.       Width           =   1335
  50.    End
  51.    Begin VB.CommandButton cmdSave 
  52.       Caption         =   "&Save"
  53.       Height          =   375
  54.       Left            =   3600
  55.       TabIndex        =   6
  56.       Top             =   1080
  57.       Width           =   1335
  58.    End
  59.    Begin VB.CommandButton cmdAdd 
  60.       Caption         =   "&Add"
  61.       Height          =   375
  62.       Left            =   3600
  63.       TabIndex        =   4
  64.       Top             =   120
  65.       Width           =   1335
  66.    End
  67.    Begin VB.CommandButton cmdNext 
  68.       Caption         =   "Move Next >"
  69.       Height          =   375
  70.       Left            =   1920
  71.       TabIndex        =   3
  72.       Top             =   1680
  73.       Width           =   1455
  74.    End
  75.    Begin VB.CommandButton cmdPrevious 
  76.       Caption         =   "< Move Previous"
  77.       Height          =   375
  78.       Left            =   360
  79.       TabIndex        =   2
  80.       Top             =   1680
  81.       Width           =   1455
  82.    End
  83.    Begin VB.TextBox txtCategoryName 
  84.       Height          =   285
  85.       Left            =   1440
  86.       TabIndex        =   0
  87.       Top             =   600
  88.       Width           =   2055
  89.    End
  90.    Begin VB.TextBox txtDescription 
  91.       Height          =   285
  92.       Left            =   1440
  93.       TabIndex        =   1
  94.       Top             =   1080
  95.       Width           =   2055
  96.    End
  97.    Begin VB.Label Label4 
  98.       Caption         =   "&Description:"
  99.       Height          =   255
  100.       Left            =   120
  101.       TabIndex        =   14
  102.       Top             =   1200
  103.       Width           =   975
  104.    End
  105.    Begin VB.Label Label3 
  106.       Caption         =   "Category &Name:"
  107.       Height          =   255
  108.       Left            =   120
  109.       TabIndex        =   13
  110.       Top             =   720
  111.       Width           =   1215
  112.    End
  113.    Begin VB.Label Label2 
  114.       Caption         =   "Category &ID"
  115.       Height          =   255
  116.       Left            =   120
  117.       TabIndex        =   12
  118.       Top             =   240
  119.       Width           =   975
  120.    End
  121.    Begin VB.Label lblCategoryID 
  122.       BorderStyle     =   1  'Fixed Single
  123.       Height          =   285
  124.       Left            =   1440
  125.       TabIndex        =   11
  126.       Top             =   120
  127.       Width           =   2055
  128.    End
  129. End
  130. Attribute VB_Name = "Form1"
  131. Attribute VB_GlobalNameSpace = False
  132. Attribute VB_Creatable = False
  133. Attribute VB_PredeclaredId = True
  134. Attribute VB_Exposed = False
  135. Dim dbCurrent As Database
  136. Dim recCategories As Recordset
  137.  
  138. Private Sub cmdAdd_Click()
  139.  
  140.     ' add a new record
  141.     recCategories.AddNew
  142.     lblCategoryID.Caption = recCategories.Fields("CategoryID")
  143.     txtCategoryName.Text = ""
  144.     txtDescription.Text = ""
  145.     
  146.     ButtonEditAddMode
  147.     txtCategoryName.SetFocus
  148.     
  149.     
  150.     
  151. End Sub
  152.  
  153. Private Sub cmdCancel_Click()
  154.  
  155.     recCategories.CancelUpdate
  156.     FillFields
  157.     
  158.     ButtonNonEditAddMode
  159.  
  160. End Sub
  161.  
  162. Private Sub cmdClose_Click()
  163.  
  164.     Unload Me
  165.     
  166. End Sub
  167.  
  168. Private Sub cmdDelete_Click()
  169.  
  170.     recCategories.Delete
  171.     recCategories.MoveNext
  172.     If recCategories.EOF Then
  173.         recCategories.MoveLast
  174.     End If
  175.     FillFields
  176.  
  177. End Sub
  178.  
  179. Private Sub cmdEdit_Click()
  180.  
  181.     recCategories.Edit
  182.  
  183.     ButtonEditAddMode
  184.  
  185. End Sub
  186.  
  187. Private Sub cmdFind_Click()
  188.  
  189.     Dim strSQL As String
  190.     Dim strAnswer As String
  191.     
  192.     strAnswer = InputBox("Enter any portion of the Description", "Find Records")
  193.     strSQL = "Select * from categories where [Description] like " & _
  194.         "'*" & strAnswer & "*'"
  195.     
  196.     ' run the query
  197.     Set recCategories = dbCurrent.OpenRecordset(strSQL)
  198.     
  199.     If recCategories.RecordCount = 0 Then
  200.         'no records found
  201.         MsgBox "No matching records found. Displaying all records."
  202.         Set recCategories = dbCurrent.OpenRecordset("Categories")
  203.     Else
  204.         'at least one record was found
  205.         recCategories.MoveFirst
  206.         FillFields
  207.     End If
  208.  
  209. End Sub
  210.  
  211. Private Sub cmdNext_Click()
  212.  
  213.     recCategories.MoveNext
  214.     If recCategories.EOF Then
  215.         Beep
  216.         recCategories.MoveLast
  217.     Else
  218.         FillFields
  219.     End If
  220.  
  221. End Sub
  222.  
  223. Private Sub cmdPrevious_Click()
  224.  
  225.     recCategories.MovePrevious
  226.     If recCategories.BOF Then
  227.         Beep
  228.         recCategories.MoveFirst
  229.     Else
  230.         FillFields
  231.     End If
  232.  
  233. End Sub
  234.  
  235. Private Sub cmdSave_Click()
  236.  
  237.     ' save the record
  238.     recCategories.Fields("CategoryName") = txtCategoryName.Text
  239.     recCategories.Fields("Description") = txtDescription.Text
  240.     recCategories.Update
  241.     recCategories.Bookmark = recCategories.LastModified
  242.  
  243.     ButtonNonEditAddMode
  244.  
  245. End Sub
  246.  
  247. Private Sub Form_Load()
  248.  
  249.     ' open the Northwind Database
  250.     Set dbCurrent = OpenDatabase("..\..\Nwind.mdb")
  251.     
  252.     ' create a recordset based on the Categories table
  253.     Set recCategories = dbCurrent.OpenRecordset("Categories")
  254.  
  255.     ' move to the firecCategoriest record in the recordset
  256.     recCategories.MoveFirst
  257.     
  258.     FillFields
  259.     ButtonNonEditAddMode
  260.  
  261. End Sub
  262.  
  263. Sub FillFields()
  264.     
  265.     ' populate the form with data from the recordset
  266.     lblCategoryID.Caption = recCategories.Fields("CategoryID")
  267.     txtCategoryName.Text = recCategories.Fields("CategoryName")
  268.     txtDescription.Text = recCategories.Fields("Description")
  269.  
  270. End Sub
  271.  
  272. Private Sub Form_Unload(Cancel As Integer)
  273.  
  274.     ' close the database
  275.     dbCurrent.Close
  276.  
  277. End Sub
  278.  
  279. Sub ButtonEditAddMode()
  280.     cmdSave.Enabled = True
  281.     cmdCancel.Enabled = True
  282.     cmdAdd.Enabled = False
  283.     cmdEdit.Enabled = False
  284.     cmdDelete.Enabled = False
  285.     cmdFind.Enabled = False
  286.     cmdClose.Enabled = False
  287.     cmdPrevious.Enabled = False
  288.     cmdNext.Enabled = False
  289.     txtCategoryName.Enabled = True
  290.     txtDescription.Enabled = True
  291. End Sub
  292.  
  293. Sub ButtonNonEditAddMode()
  294.     cmdSave.Enabled = False
  295.     cmdCancel.Enabled = False
  296.     cmdAdd.Enabled = True
  297.     cmdEdit.Enabled = True
  298.     cmdDelete.Enabled = True
  299.     cmdFind.Enabled = True
  300.     cmdClose.Enabled = True
  301.     cmdPrevious.Enabled = True
  302.     cmdNext.Enabled = True
  303.     txtCategoryName.Enabled = False
  304.     txtDescription.Enabled = False
  305. End Sub
  306.